package com.yami.shop.mystery.common.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.common.bean.PageDTO;
import com.yami.shop.common.bean.PageVO;
import com.yami.shop.common.util.PageParam;
import com.yami.shop.mystery.common.dto.ActivityWhiteDto;
import com.yami.shop.mystery.common.dto.WhiteUserDto;
import com.yami.shop.mystery.common.model.ActivityWhite;
import com.yami.shop.mystery.common.vo.ActivityWhiteExcle;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 白名单业务接口
 *
 * @author wxf
 * @date 2023/4/4 9:35
 */
public interface ActivityWhiteService extends IService<ActivityWhite> {

    /**
     *  分页查询白名单列表
     *
     * @param page
     * @param activityName
     * @return
     */
    IPage<ActivityWhiteDto> getList(PageParam<ActivityWhiteDto> page, String activityName);

    /**
     *  保存白名单明细数据
     *
     * @param whiteExcles
     * @param activityId
     * @return
     */
    Long saveByList(List<ActivityWhiteExcle> whiteExcles, Long activityId);

    /**
     *  分页查询白名单明细数据
     *
     * @param page
     * @param whiteId
     * @param phone
     * @return
     */
    IPage<WhiteUserDto> getWhiteUserList(PageParam<ActivityWhiteDto> page, Long whiteId, String phone);

    /**
     * 更新白名单明细状态
     *
     * @param id
     * @param status
     * @return
     */
    Boolean updateStatus(String id, String status);

    /**
     *  下载白名单模版
     *
     * @param response
     * @param headerList
     * @param fileName
     */
    void exportModel(HttpServletResponse response, String[] headerList, String fileName);
}
